Skip to main content

Flutter Web Testing

Overview

Flutter Web applications often render UI components inside a canvas using CanvasKit or skwasm. Unlike traditional web applications, buttons, inputs, and labels may not be available as standard HTML elements, making Selenium and Playwright selectors unreliable.

DevAssure O2 simplifies automated testing of Flutter Web applications by unlocking Flutter semantics when available and applying AI-powered visual reasoning when the UI is rendered entirely on canvas. This enables reliable end-to-end testing of Flutter applications without maintaining traditional automation scripts.

How DevAssure O2 Tests Flutter Apps

Flutter Semantics Discovery

Flutter exposes a semantic tree through flt-semantics-host.

DevAssure automatically discovers and interacts with:

  • Buttons
  • Input fields
  • Labels
  • Checkboxes
  • Dropdowns

without requiring XPath, CSS selectors, or test IDs.

Visual Reasoning for Canvas UIs

When semantic information is unavailable, DevAssure O2 analyzes the rendered screen visually and interacts with elements the same way a user would.

The agent can:

  • Identify form fields
  • Recognize buttons and menus
  • Understand labels and instructions
  • Navigate across screens
  • Adapt to layout changes

This eliminates the need for coordinate-based automation and brittle selectors.

Example Test

name: Flutter Login Test

steps:
- Open application
- Enter test-user@example.com in Email
- Enter Password@123 in Password
- Click Login
- Verify Dashboard is displayed

No selectors, locators, or automation scripts are required.

What DevAssure O2 Validates

During execution, DevAssure O2 can validate:

  • UI interactions
  • Navigation flows
  • API responses
  • Network failures
  • Browser console errors
  • Business workflows
  • End-to-end user journeys

CI/CD Integration

DevAssure flutter tests can be executed automatically on every pull request or deployment.

Supported platforms include:

  • GitHub Actions
  • GitLab CI
  • Jenkins
  • Azure DevOps
  • Bitbucket Pipelines

No additional configuration is required for Flutter Web applications.

DevAssure automatically detects Flutter-based web apps and handles execution accordingly. The agent intelligently chooses the best interaction method—Flutter semantics or visual reasoning—allowing reliable automation of Flutter Web applications without custom scripts, selectors, or framework-specific setup. :::